package com.hub.mapper.asset;

import com.hub.entity.asset.AssetBrandInfo;
import com.hub.dto.asset.BrandInfoDto;
import com.hub.dto.asset.SearchAssetBrandDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 品牌信息表 Mapper 接口
 * </p>
 *
 * @author hub
 * @since 2020-05-12
 */
@Repository
public interface BrandInfoMapper extends BaseMapper<AssetBrandInfo> {

    /**
     * 分页查询
     * @param queryModel
     * @return
     */
//    IPage<AssetBrandInfo> selectByPage(Page<?> page);

    List<AssetBrandInfo> selectByPage(SearchAssetBrandDto queryModel);

    /**
     * 
     * 根据Id查数据
     * @param brandId
     * @return
     */
    AssetBrandInfo getAssetBrandDetail(int brandId);

    /**
     * 
     * 新增品牌
     * @param addModel
     * @return
     */
    int doAddAssetBrand(AssetBrandInfo addModel);

    /**
     * 
     * 删除品牌
     * @param deleteModel
     * @return
     */
    int doDeleteAssetBrand(AssetBrandInfo deleteModel);

    /**
     * 
     * 修改品牌
     * @param deleteModel
     * @return
     */
    int doModifyAssetBrand(AssetBrandInfo deleteModel);

    /**
     * 
     * 查询名称是否存在
     * @param brandName
     * @return
     */
    int verifyExistenceByName(String brandName);

    /**
     * 
     * 查询英文名是否存在
     * @param brandEngName
     * @return
     */
    int verifyExistenceByEngName(String brandEngName);

    /**
     * 
     * 验证中文名英文名是否存在（修改）
     */
    int verifyExistenceNameOrEngName(BrandInfoDto modifyModel);

    /**
     * 
     * 查询当前品牌总数
     * @return
     */
    long allBrandCount();

    /**
     * 获取所有品牌信息
     * @return
     */
    List<AssetBrandInfo> allBrands();
}
